package digitrencer;
//valaki nézze át!!!
/**
 * A kapcsolót megvalósító osztály.
 * @author Gergő
 */
public class Switch extends Input {

        /**
         * A Switch osztály konstruktora. Meghívja az Input konstruktorát, majd
         * ellenőrzi, hogy hány kimeneti illetve bemeneti vezetéket kapott.
         * Amennyiben több, mint nulla bemeneti, illetve több mint egy kimeneti
         * vezetéket kapott, hibát dob, mivel a Switchnek legfeljebb egy kimenete lehet,
         * bemenete pedig nincsen.
         * @param inputs    Bemeneti vezetékek
         * @param outputs   Kimeneti vezetékek
         * @throws IllegalArgumentException Amennyiben nem csak egy kimeneti
         * vezetéket adtunk meg.
         */
        Switch(Wire[] inputs, Wire[] outputs) throws IllegalArgumentException{
            super(inputs,outputs);
            if ((inputs.length!=0) || (outputs.length > 1))
                    throw new IllegalArgumentException("A Switch must have exactly one output wire and no input wires.");
            value[0] = false;
        }

        /**
         * A kapcsoló logikai állapotát az ellenkezőjére állító függvény. (FRISSÍTI UTÁNA A RENDSZERT?)
         */
	public void setSwitch() {
            value[0] = !value[0];
            //most akkor futtatni is kéne a rendszert?
	}
}